Software tools are frequently used in the design of analog, mixed-signal and custom digital circuits. In the front-end stage of a design, where yield is the primary concern, designers must choose device sizes and other parameters such that the maximum possible percentage of manufactured chips meets all pre-determined specifications, i.e., such that the yield is maximized. In order to effectively design such circuits, designers often need some insight into the design, the insight not necessarily being apparent from the circuit schematic alone. Designers tend to gain insight into the circuit design by viewing representations of the circuit schematic and its underlying topology. Currently, there are schematic editors/viewers for viewing circuit schematics as well as tools for visualization of analog circuit optimization and characterization data; however, these tools do not readily interoperate and the designer has to switch back and forth from one to the other in order to set up a characterization or optimization run, or gather insight in different ways such as, for example, by visualizing transient simulation waveforms or the results of a parameter sweep.
Visualization tools for electrical circuits can be thought of as being in a technological field of their own because of the value that good visualization of data can provide in terms of verifying assumptions or hypotheses, aiding intuition, uncovering new knowledge and providing new perspectives leading to fresh thinking. For circuit design, good visualization tools can translate to more efficient designers, higher yield, better performing designs and faster time-to-market. For complex circuits having highly multidimensional datasets, such visualization tools are often indispensable. Another feature of good visualization tools is domain-specific visualization allowing users to get the most from available raw data. In terms of visualizing data in the analog and mixed-signal design domain, existing state of the art visualizations are standard textbook visualizations, such as, for example, two-dimensional (2D) and three-dimensional (3D) scatter plots, bar charts and histograms with variables including design variables, random variables, environmental variables, performance metrics and, sometimes, variables that aggregate, for example, performance metrics such as “worst case” performance metrics, partial yields, and overall yields. There is also “waveform viewing” that displays one or more signals as a function of time. However, as explained below, even though visualization tools have greatly improved over the years, there is still there is still a need to provide new ways for designers to explore data, especially new domain-specific ways.
Current circuit design visualization tools are not geared towards circuit design optimization and/or characterization. Even though designers usually think in terms of circuit schematics, existing optimizer and characterizer setup tools tend to be oriented towards textually dense tables requiring repetitive and lengthy data input, not towards circuit schematics per se. Further, current schematic editors are not made for setting and storing optimization variables, and characterization variables. For example, when a designer sets up, in an optimizer, minimum (min) and maximum (max) ranges for each design variable, the optimizer provides a table to fill in, with one row per variable. To properly set the min and max values, the designer must switch to a separate view of the schematic, and locate the element in question (typically, this is accomplished by manually scanning the schematic for the element name). The iterative process involved is: (a) obtain the name of the device related to variable, (b) scan the schematic to find the device with that name, (c) determine the appropriate min and max values while looking at schematic, and (d) return to the table and enter the min and max values. Needless to say that such processes are very time-consuming. Thus, there is clearly a need for a visualization tool that would allow various possible visual representations of fundamentally inter-related particulars of a circuit design in order to expedite processes such as, for example, optimization and/or characterization runs of circuit designs.
Therefore, it is desirable to reduce the time taken in setting up an optimization or characterization problem by breaking the iterative process of jumping back and forth between the schematic and the data entry table. It is also desirable to provide methods for displaying multidimensional circuit data, which is typically the result of an optimization or characterization run, such that designers gain more insight, and/or insight more quickly, with respect to a given circuit design.